home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Games / MAME / src / sound / 2610intf.h < prev    next >
C/C++ Source or Header  |  2000-04-09  |  2KB  |  68 lines

  1. #ifndef __2610INTF_H__
  2. #define __2610INTF_H__
  3.  
  4. #include "fm.h"
  5. #ifdef BUILD_YM2610
  6.   void YM2610UpdateRequest(int chip);
  7. #endif
  8.  
  9. #define   MAX_2610    (2)
  10.  
  11. #ifndef VOL_YM3012
  12. /* #define YM3014_VOL(Vol,Pan) VOL_YM3012((Vol)/2,Pan,(Vol)/2,Pan) */
  13. #define YM3012_VOL(LVol,LPan,RVol,RPan) (MIXER(LVol,LPan)|(MIXER(RVol,RPan) << 16))
  14. #endif
  15.  
  16. struct YM2610interface
  17. {
  18.     int num;    /* total number of 8910 in the machine */
  19.     int baseclock;
  20.     int volumeSSG[MAX_8910]; /* for SSG sound */
  21.     mem_read_handler portAread[MAX_8910];
  22.     mem_read_handler portBread[MAX_8910];
  23.     mem_write_handler portAwrite[MAX_8910];
  24.     mem_write_handler portBwrite[MAX_8910];
  25.     void ( *handler[MAX_8910] )( int irq );    /* IRQ handler for the YM2610 */
  26.     int pcmromb[MAX_2610];        /* Delta-T rom region */
  27.     int pcmroma[MAX_2610];        /* ADPCM   rom region */
  28.     int volumeFM[MAX_2610];        /* use YM3012_VOL macro */
  29. };
  30.  
  31. /************************************************/
  32. /* Sound Hardware Start                            */
  33. /************************************************/
  34. int YM2610_sh_start(const struct MachineSound *msound);
  35. int YM2610B_sh_start(const struct MachineSound *msound);
  36.  
  37. /************************************************/
  38. /* Sound Hardware Stop                            */
  39. /************************************************/
  40. void YM2610_sh_stop(void);
  41.  
  42. void YM2610_sh_reset(void);
  43.  
  44. /************************************************/
  45. /* Chip 0 functions                                */
  46. /************************************************/
  47. READ_HANDLER( YM2610_status_port_0_A_r );
  48. READ_HANDLER( YM2610_status_port_0_B_r );
  49. READ_HANDLER( YM2610_read_port_0_r );
  50. WRITE_HANDLER( YM2610_control_port_0_A_w );
  51. WRITE_HANDLER( YM2610_control_port_0_B_w );
  52. WRITE_HANDLER( YM2610_data_port_0_A_w );
  53. WRITE_HANDLER( YM2610_data_port_0_B_w );
  54.  
  55. /************************************************/
  56. /* Chip 1 functions                                */
  57. /************************************************/
  58. READ_HANDLER( YM2610_status_port_1_A_r );
  59. READ_HANDLER( YM2610_status_port_1_B_r );
  60. READ_HANDLER( YM2610_read_port_1_r );
  61. WRITE_HANDLER( YM2610_control_port_1_A_w );
  62. WRITE_HANDLER( YM2610_control_port_1_B_w );
  63. WRITE_HANDLER( YM2610_data_port_1_A_w );
  64. WRITE_HANDLER( YM2610_data_port_1_B_w );
  65.  
  66. #endif
  67. /**************** end of file ****************/
  68.